import store from '@/store/index.js'
import api from '@/utils/api.js'
function formatTime(time) {
	if (typeof time !== 'number' || time < 0) {
		return time
	}

	var hour = parseInt(time / 3600)
	time = time % 3600
	var minute = parseInt(time / 60)
	time = time % 60
	var second = time

	return ([hour, minute, second]).map(function (n) {
		n = n.toString()
		return n[1] ? n : '0' + n
	}).join(':')
}

function formatLocation(longitude, latitude) {
	if (typeof longitude === 'string' && typeof latitude === 'string') {
		longitude = parseFloat(longitude)
		latitude = parseFloat(latitude)
	}

	longitude = longitude.toFixed(2)
	latitude = latitude.toFixed(2)

	return {
		longitude: longitude.toString().split('.'),
		latitude: latitude.toString().split('.')
	}
}
// 格式化时间 格式如：11月25日 08:00
function formatLuckyTime(time){
	time = new Date(time*1000);
	// let y = time.getFullYear();
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	let h = time.getHours()>=10?time.getHours():'0'+time.getHours();
	let f = time.getMinutes()>=10?time.getMinutes():'0'+time.getMinutes();
	return (m+'月'+d+'日'+' '+h+':'+f);
}
// 格式化时间 格式如：11月25日
function formatMD(time){
	time = new Date(time*1000);
	// let y = time.getFullYear();
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	return (m+'月'+d+'日');
}
// 格式化时间 格式如：09:11:22
function formaHomeTime(time){
	time = new Date(time);
	let h = time.getHours()>=10?time.getHours():'0'+time.getHours();
	let f = time.getMinutes()>=10?time.getMinutes():'0'+time.getMinutes();
	let s = time.getSeconds()>=10?time.getSeconds():'0'+time.getSeconds();
	return (h+':'+f+':'+s);
}
// 格式化时间 格式如：2019-12-01 09:11:22
function formaIncomeTime(time){
	time = new Date(time*1000);
	let y = time.getFullYear()
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	let h = time.getHours()>=10?time.getHours():'0'+time.getHours();
	let f = time.getMinutes()>=10?time.getMinutes():'0'+time.getMinutes();
	let s = time.getSeconds()>=10?time.getSeconds():'0'+time.getSeconds();
	return (y+'-'+m+'-'+d+' '+h+':'+f+':'+s);
}
function formaSyTime(time){
	time = new Date(time*1000);
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	return (m+'月/'+d+'日');
}
// 返回每天某个整点的时间戳
function everyWholeTime(h) {
	let time = new Date()
	let y = time.getFullYear()
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	let formatT = y+'/'+m+'/'+d+' '+h+':'+'00'+':'+'00'
	return (new Date(formatT.replace(/\-/g, "/"))).getTime()
}
// 每天10:30的时间戳
function TenHalf() {
	let time = new Date()
	let y = time.getFullYear()
	let m = (time.getMonth()+1)>=10?(time.getMonth()+1):'0'+(time.getMonth()+1);
	let d = time.getDate()>=10?time.getDate():'0'+time.getDate();
	let formatT = y+'/'+m+'/'+d+' '+'22'+':'+'30'+':'+'00'
	return (new Date(formatT.replace(/\-/g, "/"))).getTime()
}
// 格式化时间为1分20秒这样
function MinAndSec(time) {
	if(time<60) {
		return time+'秒'
	}else {
		var minute = parseInt(time / 60)
		time = time % 60
		var second = time
		return minute+'分'+second+'秒'
	}
}
var dateUtils = {
	UNITS: {
		'年': 31557600000,
		'月': 2629800000,
		'天': 86400000,
		'小时': 3600000,
		'分钟': 60000,
		'秒': 1000
	},
	humanize: function (milliseconds) {
		var humanize = '';
		for (var key in this.UNITS) {
			if (milliseconds >= this.UNITS[key]) {
				humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
				break;
			}
		}
		return humanize || '刚刚';
	},
	format: function (dateStr) {
		var date = this.parse(dateStr)
		var diff = Date.now() - date.getTime();
		if (diff < this.UNITS['天']) {
			return this.humanize(diff);
		}
		var _format = function (number) {
			return (number < 10 ? ('0' + number) : number);
		};
		return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDay()) + '-' +
			_format(date.getHours()) + ':' + _format(date.getMinutes());
	},
	parse: function (str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串，转化为一个Date对象
		var a = str.split(/[^0-9]/);
		return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
	}
};
module.exports = {
	formatTime: formatTime,
	formatLocation: formatLocation,
	dateUtils: dateUtils,
	formatLuckyTime: formatLuckyTime,
	formaHomeTime: formaHomeTime,
	formaIncomeTime: formaIncomeTime,
	formatMD: formatMD,
	everyWholeTime: everyWholeTime,
	MinAndSec: MinAndSec,
	formaSyTime: formaSyTime,
	TenHalf:TenHalf
}